
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body> 
</body>
</html>
<script>
//花子向阳开 人需向前走  //2021-08-04-夜修订   
//TypeScript中也给我们提供了一些引用类型，例如：Array（数组）、String（字符串）、Date（日期对象）、RegExp（正则表达式）等。
//demo 定义一个对象
    let jspang = {
         name:'技术胖',
         website:'jspang.com',
         age:18,
         saySometing:function(){
             console.log('为了前端技术')
         }
     }
     console.log(jspang.name)
     jspang.saySometing()  //调用对象里面的方法 
     /*
    1-引用类型是一种复合的数据类型，
    2-引用数据类型中封装了很多对属性
    3-每一对属性都有属性名&属性值，属性名是字符串，属性值是任意类型的数据，
    4-可通过变量名&属性名 获取属性的值或者调用属性的方法*/ 

//ts中初始化数组的两种方法
//方法一 可以在元素类型后接上[]，表示由此类型元素组成的一个数组
         let list:number[] = [1,2,3];
//方法二 使用数组泛型，Array<元素类型>
         let list_:Array<number> = [1,2,3];

// 使用一个数组，1创建一个数组，创建数组时可以指定数组的容量，也可以直接向数据中存储数据
// 声明数组&声明一个普通的变量一样，都是通过var let关键字实现的，只不过数据的类型说明符比较复杂而已 
                let arr1:number[]      //声明一个数值类型的数组
                let arr2:Array<string> //声明一个字符串类型的数组

   //给数组赋值
       // 数组时存储大量数据的集合，声明数组之后，需要给数组存储数据，两种方法 
       // 1字面量赋值法，直接使用[]对数组进行赋值
       // 2构造函数赋值  
       // 这两种方法都可以对数组赋值，在实际开发中都可以用  
            //字面量赋值法
                //定义一个空数组，数组容量为0
                let arr1:number[] = []
                //定义一个数组时，直接给数组赋值
                let arr2:number[] = [1,2,3,4,5]
                //定义数组，的同时给数组赋值
                let arr3:Array<string> = ["js","常东东","oh"]
                let arr4:Array<boolean>= [true,false,false]
                //注意  ts中指定数据类型的数组，只能存储同意类型的数组元素        
                //报错！必须存储number类型的的数据
                   //let arr5:number[] = [1,2,false]    
         
            //构造函数赋值法
                //在ts中使用Array这个引用类型来表示数组的，那么每一个数组都是Array类型的实例.
                //那么，我们在创建数据的时候也可以使用构造函数来赋值 
                    //let arr1:number[] = new Array()
                    //let arr2:number[] = new Array(1,2,3,4,5)
                    //let arr3:Array<string> = new Array("js","常东东","oh")
                    //let arr4:Array<boolean> = new Arrray(true,false,false)
                    
                    
//——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
//元组，一种特殊的数组
                //元组类型:准许表示一个已知 元素数量和类型的数组，各元素的的类型不必相同
                //比如，定义一对值分别为string&number类型的元组 元组在实际开发用的少.
                //声明一个元组类型
                    //let x : [string,number]
                //正确的初始化
                    //x = ['hellow',10]
                //错误的初始化
                    //x = [10,"oh"]
                    





















       
       























</script>